<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // ------------ 代码 1 用 Promise+setTimeout 模拟休眠异步操作 ------------
        function sleep(time, doJob) {
            // 方法返回一个 Promise 对象，在 time 毫秒后执行 resolve 函数
            return new Promise(function (resolve) {
                setTimeout(function () {
                // 执行 doJob 函数，并将结果作为传递给 resolve 函数
                    console.log("--------- 休眠"+time+"毫秒完成 ----------");
                    resolve(doJob());
                }, time);
            })
        }
        // ------------ 代码 2 未定义成异步函数 ------------
        function test1() {
            console.log("test1----开始");
            let result = sleep(1000, ()=> "用户数据");
            console.log("test1 result = " + result);
        }
        // ------------ 代码 3 定义成异步函数 ------------
        async function test2() {
            console.log("test2----开始");
            let result = await sleep(2000, ()=> "用户数据");
            console.log("test2 result = " + result);
        }
        test1() // 先执行 test1
        // test2() // 再执行 test2
    </script>
</head>
<body>
    
</body>
</html>